Sport Mode, part 2/5: RileyLinkKit — watchOS framework targets - #18
Draft
ps2 wants to merge 3 commits into
Draft
Conversation
Mirrors the LoopKit-watchOS pattern: same product names, SDKROOT=watchos, device family 4, APPLICATION_EXTENSION_API_ONLY, deployment 8.0. Same source lists as the iOS targets; RileyLinkKit-watchOS depends on RileyLinkBLEKit-watchOS and links LoopKit (watchOS product via workspace implicit dependencies). Needed because OmnipodKit's unified OmniPumpManager subclasses RileyLinkPumpManager. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Two sites: CBCentralManagerOptionRestoreIdentifierKey in the central init (watchOS: options nil) and the willRestoreState delegate method. No iOS behavior change. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this is
The RileyLinkKit slice of Jeremy Barnum's Sport Mode line (standalone watch). Part 2 of a
bottom-up landing: LoopKit (ps2#612) → RileyLinkKit / G7SensorKit → OmnipodKit → Loop →
workspace pin bump.
Draft: design review wanted before this goes near
next-dev.Three commits, rebased onto current
next-dev(8ba261c). Cherry-picks were clean.The changes
RileyLinkBLEKit-watchOSandRileyLinkKit-watchOSframework targets — new targets only;no existing target's membership or settings change.
#if os(iOS)guards around CoreBluetooth state restoration inRileyLinkBluetoothDeviceProvider. watchOS has no state restoration, and the watch host ownsreconnect policy.
RileyLinkKit-watchOS, to match LoopKit.Net effect on iOS: nothing. The only source file touched is
RileyLinkBluetoothDeviceProvider.swift, and only inside#if os(iOS)/#else.The rebase landed on top of #16 (
autoConnectIDsthread safety), and the two compose cleanly —git auto-merged them, and the resulting file keeps the
Locked<Set<String>>treatment with theplatform guards around the restoration option.
A gap worth deciding on
Unlike G7SensorKit, these targets ship no shared scheme, so they cannot be built from the
command line or by CI. They also cannot build standalone (
-project RileyLinkKit.xcodeproj -target RileyLinkKit-watchOS -sdk watchsimulatorfails withunable to resolve module dependency: 'LoopKit') because LoopKit comes from the workspace.I verified them by generating shared schemes temporarily and building through
LoopWorkspace.xcworkspace— both targets: BUILD SUCCEEDED againstgeneric/platform=watchOS Simulator. Those temporary schemes are deliberately not in this branch.Say the word and I'll add proper shared schemes so these are CI-buildable; I left them out rather
than expand the diff beyond Jeremy's commits without asking.
Verification
xcodebuild -workspace LoopWorkspace.xcworkspace -scheme LoopWorkspaceagainst stocknext-dev(stock LoopKit, this branch + the G7 branch swapped in): BUILD SUCCEEDED.next-devcommit —his work carried forward, nothing added or lost.